package  com.bndg.browser.bean

import android.os.Parcel
import android.os.Parcelable

data class VideoBean(
    val videoUrl: String?,
    val source: List<String>,
    val title: String,
    val url: String,
    val position: String
) : Parcelable {

    // 从 Parcel 中读取数据的构造函数
    constructor(parcel: Parcel) : this(
        parcel.readString(), // videoURL
        parcel.createStringArrayList() ?: emptyList(), // source
        parcel.readString() ?: "", // title
        parcel.readString() ?: "", // url
        parcel.readString() ?: ""  // position
    )

    // 将对象写入 Parcel
    override fun writeToParcel(parcel: Parcel, flags: Int) {
        parcel.writeString(videoUrl)
        parcel.writeStringList(source)
        parcel.writeString(title)
        parcel.writeString(url)
        parcel.writeString(position)
    }

    // 描述内容的描述符（通常返回 0 即可）
    override fun describeContents(): Int {
        return 0
    }

    // 伴生对象，提供 CREATOR 属性
    companion object CREATOR : Parcelable.Creator<VideoBean> {
        override fun createFromParcel(parcel: Parcel): VideoBean {
            return VideoBean(parcel)
        }

        override fun newArray(size: Int): Array<VideoBean?> {
            return arrayOfNulls(size)
        }
    }
}